This question already has an answer here:
I have read of the special variables used in a script
As far as I understand, the arguments used while executing the script are stored into two special variables, once all arguments into
$@ and once all arguments into
$*, this way they can be accessed inside the script.
I do not understand why there must be two special variables for the same set of arguments. What is the difference, when is the one and when the other special variable used ?