Você deve usar $@
para se referir a todos os argumentos:
for arg in "$@"
do
if [[ -f "$arg" ]]
then
echo "$arg is a file"
elif [[ -d "$arg" ]]
then
echo "$arg is a directory"
else
echo "$arg is not a file or directory"
fi
done
Veja também: link