Você precisa apenas de um único separador entre os comandos: ; ou & ou && etc, então tente
emacs & emacs &
Se você executar emacs &; emacs & , você iniciará o emacs em segundo plano e, em seguida, executará ; sem qualquer comando, por isso bash afirma que não espera esse separador ( syntax error near unexpected token ; ).
Erro semelhante que você obterá executando apenas ; :
bash$ > ;
bash: syntax error near unexpected token ';'
Nem todos os shell se comportam assim, por exemplo, em zsh , você pode até fazer
zsh$> ; ; ls; ; ls&; ls&; ; ls &; ;
sem nenhum problema (mas não ;; sem espaço intermediário), pois é um separador em si próprio, usado na instrução case ).
A outra coisa que você tentou, emacs & && emacs & , é ainda pior, pois o segundo comando (após && ) deve ser executado somente se o primeiro for concluído com êxito (é isso que o && faz). Mas, como nós executamos o primeiro comando em segundo plano, o shell não aguarda seu término, então essa condição não faz muito sentido. Mais uma vez: use apenas um único separador entre os comandos, command1 & command2 ou eventualmente command1 && command2 .