Bash: Reading 2 arguments from a command line

If no arguments are entered I wanna be able to read 2 arguments, i have done like this but it doesnt work:

x=0

until [ $x -eq 1 ] #loop starts

do

if [ $# -eq 0 ]; then
echo No arguments were entered, please enter 2 arguments.
read $1 $2

elif [ $# -gt 2 ] || [ $# -lt 2 ]; then
echo $# arguments were entered, please enter 2 arguments.
read $1 $2
else
x=1
fi
done

How can i fix it?