Você pode usar o pgrep para simplificar a pesquisa e canalizar o resultado com xargs para remover o uso de vars, como:
ssh hostname "pgrep emacs | head -1 | xargs echo"
Seu problema principal é que o bash tenta avaliar $ 2 no comando ssh. Isso resulta em um espaço em branco, então interpreta que você deseja canalizar 'awk' {print} 'em seu lugar. Você também pode tentar executar com outro caractere de escape:
ssh hostname "pid=\$(ps aux | grep '[N]ame' | awk '{print \}' | head -1); echo \$pid"
Essa versão funciona.