ディレクトリが空の時に帰ってくるのは * ではありません。
echo ? だと ? が帰ってきます。