执行两个字节

时间:2019-07-10 12:49:44

标签: linux exec execl

我有此代码:

    execl("/bin/ip", "address", "add", 
        "dev", ob->tun_name,  
        "local", ob->local_ip,
        "peer", ob->remote_ip,
        NULL
    );

但是我得到了错误:

Object "dress" is unknown, try "ip help".

如果我使用这个:

    execl("/bin/ip", "  address", "add", 
        "dev", ob->tun_name,  
        "local", ob->local_ip,
        "peer", ob->remote_ip,
        NULL
    );

有效。

我已经尝试过execlp("ip", ...,但是它有同样的问题。

我在做什么错-为什么我需要在“地址”前面丢掉两个字符?

1 个答案:

答案 0 :(得分:0)

这可行,我需要重新添加可执行文件的名称。

    execl("/bin/ip", "/bin/ip", "address", "add", 
        "dev", ob->tun_name,  
        "local", ob->local_ip,
        "peer", ob->remote_ip,
        NULL
    );