I find myself needing to log into various servers, set environment variables, and then work interactively.
e.g.
$ ssh anvil
jla@anvil$ export V=hello
Probably the simplest thing is:
$ ssh -t host 'cmd1; cmd2; sh -i'
If you want to set variables, do:
$ ssh -t host 'cmd1; cmd2; FOO=hello sh -i'
Note that this is a terrible hack, and you would be much better off putting your desired initial commands in a script and doing:
$ scp setup host:~ $ ssh host host$ . setup