--- ltmain.in	2003-11-22 23:12:57.000000000 +0900
+++ ltmain.in.new	2003-12-09 13:10:33.000000000 +0900
@@ -5114,7 +5114,31 @@
 
 	*)
 	  $echo >> $output "\
-      exec \$progdir/\$program \${1+\"\$@\"}
+      echo \" 
+/* exec-a
+   usage: exec-a path arg0 arg1 ...
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(int argc, char *argv[])
+{
+  char **nargv;
+  char *path;
+  int i;
+  if (argc < 2)
+    return 254;
+  nargv = (char **) malloc(sizeof(char *) * argc);
+  path = argv[1];
+  for (i = 2; i <= argc; i ++) {
+    nargv[i - 2] = argv[i];
+  }
+  return execv(path, nargv);
+}
+\" > \$progdir/.exec-a.c
+      gcc -o \$progdir/.exec-a \$progdir/.exec-a.c
+      exec \$progdir/.exec-a \$progdir/\$program \$0 \${1+\"\$@\"}
 "
 	  ;;
 	esac
