if [ $ARGS -lt 2 ]
then echo Hey dummy you need at least two arguments. You only entred $ARGS.
$# is a "Special Parameter" - if you type "man bash" and search for Special Parameters you'll see there are several. This particular one gives a count of arguments.
ARGS is arbitrary - you could call the variable anything you wanted (e.g. ralph) then use it throughout the script (e.g. $ralph instead of $ARGS)
Note it is important you set the ARGS (or ralph or whatever) variable before doing much else in the script as other things within the script might set their own arguments so you'd get a false count.
The [ ] is the same as "test". If you type "man test" you'll see many things you can do with this. Note the use of "-lt" which is "less than".