On 3/7/07, Prasanta Sadhukhan <Prasanta.Sadhukhan@xxxxxxx> wrote:
Hi, When I tried the following program void test4() { printf("doing execv\n"); if(execv("/bin/ls", "-l") == -1) printf("exec failed with errno %d\n", errno); else printf("exec succeed\n"); }
Prasanta, A NULL terminated array of arguments must be passed to execv(2) as the prototype indicates: int execv(const char *path, char *const argv[]); For example: #include <unistd.h> char *cmd[] = { "ls", "-l", NULL }; int result = execv ("/bin/ls", cmd); An error of EFAULT usually means that an argument points to an illegal address. \Steve -- Steve Grägert <steve@xxxxxxxxxxxx> Jabber xmpp://graegerts@xxxxxxxxxx Internet http://eth0.graegert.com, http://blog.graegert.com - To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html