shell on a router, only /bin/sh, don't have bash, can't use bash's array a.sh:
#!/bin/sh
ARGS="-v -b 'b.sh start' -c 'b.sh stop' " # or '-v -b "b.sh start" -c "b.sh stop" '
PROC="./a.out" # a.out is c program
$PROC $ARGS
in a.c
int main(int argc, char* argv[]) {
for (int i = 0; i < argc; ++i){
fprintf(stderr, "%s\n", argv[i]);
}
}
gcc a.c
sh ./a.sh
./a.out
-v
-b
'b.sh
start'
-c
'b.sh
stop'
but ok when: ./a.out -v -b 'b.sh start' -c 'b.sh stop'
./a.out
-v
-b
b.sh start
-c
b.sh stop
How can I do right?