If system "./foo", and empty "./foo" and "./foo.exe" exist, argv[0] would
be set to neverland.

--- ./os2/os2.c-pppre	Thu Oct  9 00:23:14 2003
+++ ./os2/os2.c	Thu Oct  9 15:30:40 2003
@@ -1128,7 +1128,7 @@ do_spawn_ve(pTHX_ SV *really, U32 flag, 
 			   does not append ".exe", so we could have
 			   reached this place). */
 			sv_catpv(scrsv, ".exe");
-	                scr = SvPV(scrsv, n_a);	/* Reload */
+	                PL_Argv[0] = scr = SvPV(scrsv, n_a);	/* Reload */
 			if (PerlLIO_stat(scr,&PL_statbuf) >= 0
 			    && !S_ISDIR(PL_statbuf.st_mode)) {	/* Found */
 				real_name = scr;
