A useful function for variable arguments is unpack(). This takes a table and returns a list of variables.
> = unpack({1,2,3})
1 2 3
This can be used with variable argument lists as follows:
> function foo(...) a,b,c = unpack(arg); print(a,b,c); end
> = foo(1,2,3)
1 2 3