Чтобы создать сиротский процесс, родитель должен умереть. Если вы не хотите, чтобы ваш shell умер, то shell не должен быть родителем сироты. Самый простой способ сделать это - заставить оболочку форкать дочерний процесс, который в свою очередь форкает процесс, который должен стать сиротой. Этот двойной форк - это то, как запускаются демоны, как объясняется во введении статьи Википедии.
В shell вы уже знаете, как создать дочерний процесс: с помощью &
. Чтобы иметь дочерний процесс, который является форком того же шелла, и чтобы он в свою очередь форковал фоновый процесс, вам просто нужно заставить парсер понять вас.
{ nohup mycommand & } &