Вот как я, вероятно, сделал бы это, не слишком задумываясь об этом.Использовать фиктивную переменную c
глупо, но я считаю, что массив bash еще более неудобен.
read -r a b c
if [[ $c ]]
then
echo "To much arguments"
elif [[ $a && $b ]]
echo "Correct - 2 arguments"
else
echo "Not enough arguments"
fi