Se o bash não puder encontrar uma correspondência, ele passará a string literal para o aplicativo com * s unexpanded. Por exemplo:
$ ls
foo
$ cat /tmp/test
echo $1
$ /tmp/test *foo*
foo
$ /tmp/test *bar*
*bar*
bash expandido *foo* porque correspondeu, mas transmitiu *bar* diretamente porque isso não aconteceu. A opção nullglob dirá ao bash para resolver padrões não correspondentes para a string vazia:
$ shopt -s nullglob
$ /tmp/test *bar*
$