>>fork&execで自分自身をもう一度execしようと思ったのです。

argv[0] を起動直後のカレントディレクトリからの
相対パスとして扱えば十分だと思う。

実行中に自分を unlink するなんて、普通は無しでしょ?
/proc を使うにしても、シンボリックリンクとして見えるはずだから
もと消しちゃったらダメなんじゃ?