我试图通过解释器文件执行程序。我在 C 中使用了 fork() 和 execl() 函数。这是我的代码:
if ((pid = fork()) < 0)
printf("fork error");
else if (pid == 0) { /* child */
if (execl( "/home/alien/testinterp", /* the interpreter file */
"testinterp", "arg1", (char *)0) < 0)
printf("execl error");
在文件“/home/alien/testinterp”中,有:
#!/bin/sh
我可以在 shell 中运行 /bin/sh 。我使用 Emacs 编辑了解释器文件。
当我运行我的程序时,我遇到了错误。(“execl 错误”)。
我究竟做错了什么?