Embora a resposta dos barlops esteja correta, acho que podemos expandi-la, para torná-la mais clara.
Como você parece estar usando um script, eu sugeriria algo assim:
#!/bin/bash
ssh [email protected] "echo Hi\!"
Leitura extra: Eu também sugiro que você também procure em caracteres especiais e quando precisar deles, pois o bash analisará automaticamente pontos de exclamação, quando entre aspas duplas. Você pode resolver isso usando aspas simples ou o caractere de barra invertida para 'escapar'.
Editar:
#!/bin/bash
date='date "+%Y-%m-%d"'
rsync -acxzP --delete --link-dest=/u3/mylogin/backup/old_backup /home/mylogin [email protected]:/u3/mylogin/backup/$date\_backup
ssh [email protected] '
date='date "+%Y-%m-%d"'
rm -f /u3/mylogin/backup/old_backup
ln -s $date\_backup /u3/mylogin/backup/old_backup
'
Quando eu tentei uma versão simplificada, a variável date funciona sem problema, talvez isso corrija o problema bash -c que você estava tendo.
Além disso, a saída é desnecessária no final, quando o último comando é executado, a sessão ssh é automaticamente fechada.