The shell expands the wildcard * to list all files and directories in the current directory before executing the command. Consequently, echo * displays these names separated by spaces, behaving similarly to ls. The other options are incorrect because the wildcard is resolved by the shell.