It's impossible to bypass the login shell, by design. You can set an SSH account whose shell is restricted (e.g. a restricted shell as in rsh/rksh/rbash/…, or a shell that only allows some specific protocol such as rssh or git-shell). The client cannot specify a different shell.
To run code in a different shell, you have to make your login shell run that shell and pass the code to the inner shell. This is no different from what you'd need to do to run interpreted code in some other language such as perl, python, etc. Take care of quoting correctly. If you don't need standard input, pass the script on standard input, so that you don't need nested quoting.
It is possible to have multiple entries in the user database for the same account. “Same account” means the same user ID. The entries must have different user names and can have different passwords, different shells, etc. See Can you give a user account multiple passwords?. Beware that this is not very robust because some programs do a lookup from the user ID (rather than from the user name in the
$USER environment variable which is set to the name the user chose when logging in).
If you want zsh for interactive use but a Bourne-style shell for SSH, you can do what I do: I set my login shell to
/bin/sh (or whatever it takes to have a POSIX shell), and I have (some more complicated version of)
export SHELL=/bin/zsh; exec $SHELL in my