Parece que estou correndo atrás do meu rabo...
O comando do terminal
x-terminal-emulator -e ${SHELL}' -c cd\ .;"ls";'${SHELL}
quando executado no Ubuntu 14.04/16.04/18.04 inicia um novo terminal e lista o diretório atual (como esperado).
Se eu modificar o comando para incluir o argumento "-l"
x-terminal-emulator -e ${SHELL}' -c cd\ .;"ls -l";'${SHELL}
Obtenho o resultado esperado no Ubuntu 14.04/16.04, mas no 18.04 (como uma máquina virtual no VirtualBox) o terminal iniciado contém a mensagem:
sh: 1: ls -l: not found
Executei os dois comandos no Ubuntu 17.10 e, embora ambos produzissem o resultado esperado, notei a seguinte mensagem:
Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
Use “-- ” to terminate the options and put the command line to execute after it.
Warning: DESKTOP_STARTUP_ID not set and no fallback available.
Resumindo: não consigo descobrir se estou enfrentando algum novo problema com espaços tratados de maneira diferente no terminal mais recente e/ou agora tendo que usar "--" e estou usando o comando incorretamente.
Por fim, quero não apenas ter "ls -l", mas uma sequência de comandos, separados por "&&".
Não consegui determinar por que recebi a mensagem de erro
mas consegui atingir meu objetivo. O comando que funciona (que é uma versão simplificada do que eu quero) é:
Adotei a abordagem de que estou executando isso apenas no Ubuntu e, portanto, era "seguro" trocar o x-terminal-emulator pelo gnome-terminal e $SHELL pelo bash.