linux c程序配置参数执行其他的多个程序

linux下 c程序,例如a1.c a2.c已经通过gcc编译成可执行的程序。
运行 ./a1 输出“你可以输入./a1 eth0,执行此程序!”
然后运行 ./a1 eth0 输出“hello1”。
运行 ./a2 输出“你可以输入./a2 eth0,执行此程序!”
然后运行 ./a2 eth0 输出“hello2”。

eth0,可以改成eth1,eth2、........之类的是主函数传入的一个参数

现在需求是写一段c代码程序aa.c,在里面可以配置参数选择执行a1, a2。
例如
运行./aa a1 输出“你可以输入./a1 eth0,执行此程序!”,
运行./aa a1 eth0,输出“hello1”。
运行./aa a2 输出“你可以输入./a2 eth0,执行此程序!”,
运行./aa a2 eth0,输出“hello2”。
linux下 aa.c程序怎么写?

可以用如下代码:

#include <stdio.h>
#include <string.h>
#include <windows.h>

int main(int argc, char *argv[]) {

    char *priorStr = "你可以输入./";
    char *laterStr = " eth0,执行此程序!";
    char outputStr[80];
    char command[80];

    if (argc == 2)  //命令行参数个数为2,例如输入./aa a1
    {
        strcpy(outputStr, priorStr);
        strcat(outputStr, argv[1]);
        strcat(outputStr, laterStr);
        sprintf(command, "echo %s", outputStr);
        system(command); 
    }

    if (argc == 3) //命令行参数个数为3,例如输入./aa a1 eth0
    {
        system(argv[1]);
    }

    return 0;
}

头文件和其它与Windows操作系统不同的地方,您可以参照上次的问题修改。

用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

Segmentation fault (core dumped) 提示这个错误