Como você parece entender, as funções internas do shell, como echo
, são processadas pelo shell em execução e, portanto, não requerem que um novo processo seja iniciado em primeiro plano (normalmente).
No entanto, se você os enviar para o segundo plano, eles precisarão ser controlados por um shell distinto e, consequentemente, iniciarão um novo processo de shell com o comando em questão. Isso deve ser razoavelmente fácil de ser observado no bash, já que enviar um processo em segundo plano mostrará o novo ID do processo ao lado do número do trabalho, como:
$ echo 'hi' &
[1] 19536
hi
Neste caso, o processo 19536 é uma nova instância do bash.