void foo (int a, ...) { dSP ; ENTER ; SAVETMPS ; PUSHMARK(SP) ; va_list args; va_start(args, a); // how do I pass the variable arguments to Perl? XPUSHs(sv_2mortal(newSViv(a))); va_end(args); PUTBACK; perl_call_pv("My::Func", G_DISCARD); FREETMPS; LEAVE; }