Linuxなんですが(Winでも一緒?)

# include <signal.h>
(void)signal(SIGALRM, func);

とやりたいんですが、
funcに複数の引数を持たせる事は出来ないのでしょうか。
funcからある変数の中身を弄りたいんですが、
その変数をfuncにpointerで渡したいんです。
その変数をglobalにすればfuncの引数は1つでいいのですが、
変数はglobalに出したくないので。
複数引数が駄目なら、何か同等の機能を持たせる方法はありますか?