Você pode fazer algo como:
SHELL=/bin/bash PROMPT_COMMAND='unset PROMPT_COMMAND; history -s "$CMD";
eval "$CMD"' CMD='vi /etc/issue' gnome-terminal
(aqui usando vi /etc/issue
como seu comando).
Isso tem a vantagem de executar $CMD
como um trabalho desse shell, assim você pode suspender o currículo, interrompê-lo como outros trabalhos e pode afetar o ambiente do shell (por exemplo, você pode fazer CMD='PATH=$foo:$PATH'
).
Ele assume que seu ~/.bashrc
não define $PROMPT_COMMAND
em si.
Editar:
Para várias guias:
PROMPT_COMMAND='unset PROMPT_COMMAND; history -s "$CMD"; eval "$CMD"
' gnome-terminal --tab --title /etc/issue -e 'env CMD="vi /etc/issue" bash' \
--tab --title who -e 'env CMD=who bash'