一种可能的解决方法是检查代码中exec函数的参数。通常,需要将参数作为字符指针传递给exec函数。如果参数无效或指向无效地址,则会出现“bad address”的错误消息。以下是一个示例代码:
char *args[] = {"/bin/ls", "-l", NULL};
execvp(args[0], args);
在上面的示例中,execvp函数使用字符指针数组作为参数,该数组包含要执行的命令及其选项。请确保该数组的最后一个元素为NULL,以确保正确的终止。如果仍出现错误消息,请检查参数是否正确。