Existem algumas coisas não intuitivas acontecendo aqui.
Primeiro, seu comando para o host remoto é analisado como
(sh -c echo starting); who -b; date; echo $SHELL
As aspas externas são removidas, deixando apenas echo starting em sh , e é por isso que $SHELL está definido como /bin/bash .
Em segundo lugar, "início" não é impresso pelas razões apresentadas nesta resposta: link
No entanto, você pode corrigir esses problemas simplesmente colocando o comando em outro conjunto de citações, deixando-o com
ssh myhost sh -c '"echo starting; who -b ; date; echo $SHELL"'
Embora eu argumente, é mais claro se você mover as aspas simples para abranger o comando sh :
ssh myhost 'sh -c "echo starting; who -b ; date; echo $SHELL"'