I often come across $? $0 $1 $2 etc.... in shell scripting, what I know is that $? returns the exit status of the last command
echo "this will return 0"
echo $?
but what do the others do? what are they called and is there more? perhaps like $3 $4 $5 ...