вы только exec из потомка вызывайте )) при fork'е же сможете определить где родитель где потомок надеюсь?

вообще fork используется для двух целей - организация многопоточности и демонизация. в вашем случае это вырожденый случай многопоточности - есть основной процесс, который форкает от себя одного потомка, который в сворю очередь передает управление замещенному через exec коду, но по прежнему остается потомком основного процесса со всеми вытекающими от этого свойствами.

Non solum oportet, sed etiam necessese est