Para criar um processo órfão, o pai deve morrer. Se você não quer que seu shell morra, então o shell não deve ser o pai do órfão. A maneira mais simples de fazer isso é tornar o fork fork um processo filho que, por sua vez, bifurca o processo que se tornará órfão. Esse duplo fork é como os daemons são iniciados, como explicado na introdução do artigo da Wikipedia .
Em um shell, você já sabe como criar um processo filho: com &
. Para ter um processo filho que seja uma bifurcação do mesmo shell e que ele, por sua vez, bifurque um processo de segundo plano, você só precisa fazer com que o analisador o entenda.
{ nohup mycommand & } &