C-execlp函数调用-我可以让argv指向更多参数吗

C-execlp函数调用-我可以让argv指向更多参数吗,c,exec,C,Exec,调用execlp的方法如下所示: int execlp(const char *file, const char *arg, ... /* (char *) NULL */); 比如说, execlp("/bin/Binary","Binary","0x00","0x01","0x02",(char *)0); 在本例中,由于我的参数“0x00”,“0x01”和“0x02”始终是固定的。我可以创建一个字符数组而不是这样做吗 char *myAr

调用execlp的方法如下所示:

int execlp(const char *file, const char *arg, ...
                       /* (char  *) NULL */);
比如说,

execlp("/bin/Binary","Binary","0x00","0x01","0x02",(char *)0);
在本例中,由于我的参数
“0x00”
“0x01”
“0x02”
始终是固定的。我可以创建一个字符数组而不是这样做吗

char *myArgv[]={0x00, 0x01, 0x02}; 
然后

execlp(“/bin/Binary”,“Binary”,myArgv,(char*)0)

这一个不起作用,因为它将只读取数组中的第一个元素


请告知。

我想您正在寻找:


但是mind的评论是:
0x00
“0x00”
绝对不能互换

编辑
正如注释中所指出的,在本例中传递给
execvp
的数组必须包含一个
NULL
指针作为最后一个成员(与您的示例不同)。

是什么让您认为字符串文本
“0x00”
和整数常量
0x00
可以互换?是的,我知道,这就是我问的原因。thanksIt必须指出,在这种情况下,
argv
数组必须包含
NULL
终止符。这个问题假设它不会。
int execvp(const char *file, char *const argv[]);