Use um novo arquivo de origem, por exemplo /home/user/.rcforssh
#rc for ssh
. /home/user/.bashrc
. /home/user/venv/bin/activate #or whichever location
e faça o login com
ssh -t user@host "cd /path/to/dir ; /bin/bash --rcfile /home/user/.rcforssh"
Nota lateral: source
não é POSIX, enquanto .
é.
ATUALIZAÇÃO após discussão especificando as necessidades do OP:
Para criar e remover o arquivo de origem modificado rcforssh
on the fly, on pode usar:
ssh -t user@host "cd /path/to/dir ; echo '. ~/.bashrc ; . s ; rm rcforssh' > rcforssh ; /bin/bash --rcfile rcforssh"
i.e. criando o arquivo de origem com um comando echo
e adicionando a remoção no arquivo mencionado.