Cite ssh-com-porta como um argumento único como -e 'ssh -p 2222' ou -e "ssh -p 2222" . O que você escreveu especifica ssh como argumento para a opção -e , em seguida, a opção -p para rsync (igual a --perms ) seguida por um nome de arquivo provavelmente falso, que daria um erro se a conexão (e autenticação) for bem sucedida.
Não use $2222 . Isso não especificaria o número 2222; em singlequotes especificaria a string real $2222 que não é um número, em doublequotes expandiria para o segundo parâmetro posicional de seu shell, que é provavelmente uma string vazia, seguida de 222 .
Alternativamente , como diz a página man, você pode usar o arquivo de configuração ssh (normalmente) .ssh/ssh_config para especificar a porta automaticamente (para todos, um ou alguns hosts). Isso também se aplica a outras coisas que você faz que usam ssh, como scp sftp e, é claro, ssh , que é provavelmente desejável aqui.