Ça spawne un process pour rien, et y'a une race condition potentielle si PATH/$PATH change entre le moment le programme est lancé et le moment où tu exécutes ce code

(comment ça, "c'est pas réaliste" ?)
Si tu veux vraiment faire ça, autant le faire proprement avec
GetModuleFileName sous Windows, ou /proc/self/exe sous Linux.
Tiens d'ailleurs, en parlant de Linux, il va se passer quoi si l'utilisateur n'a pas le droit "r" sur le fichier exécutable ?

EDIT : Et ton
./1067 est potentiellement foireux si tu crosscompiles, je te laisse chercher pourquoi ^^