O primeiro sono já está separado. O que está acontecendo é que o sleep 60 é criado pelo shell que está executando o script, então o exec substitui esse shell pelo sleep 120 , então o sleep 120 agora é o pai do seu sleep 60 . Para tê-los no mesmo nível na saída pstree , simplesmente faça o background sleep 120 , assim como você faz o sleep 60 em vez de exec '.