Ray Andrews wrote on Tue, Mar 28, 2017 at 07:29:24 -0700:
ls is a passive recipient, there is no 'request'. Yes?
Yes:
1 % strace -fe execve sh -c 'ls -d /*'
2 execve("/bin/sh", ["sh", "-c", "ls -d /*"], [/* 47 vars */]) = 0
3 Process 8717 attached
4 [pid 8717] execve("/bin/ls", ["ls", "-d", "/bin", "/boot", "/dev", "/etc", "/home", "/initrd.img", "/lib", "/lib64", "/lost+found", "/media", "/mnt", ...], [/* 47 vars */]) = 0
That execve() line shows the 'argv' array in ls's main() will be. You
can see that it has no asterisks.