main(*sys.argv)
calls main with the content of the list sys.argv as respective arguments of the main method and is in this case equivalent to:
main(sys.argv[0])
or
main(sys.argv[0], sys.argv[1])
depending on the length of sys.argv.
So if you call it with the asterisk, it passes to name the first element of the list sys.argv.
If you call it without the asterisk, it passes to name the whole list sys.argv.