What normally happens to * in a shell command before the target program starts?
*
It expands only to the current user's home directory.
It matches exactly one character in one filename.
The asterisk is always passed unchanged for the program to expand.
The shell expands it into matching filenames and passes those names as command arguments.