+# /*
+set -ex
+gcc -o cvs-wrap cvs-wrap.c -O2 -Wall -ggdb3
+exit
+# */
+
+#include <unistd.h>
+#include <stdlib.h>
+
+
+#define LENGTH(x) (sizeof((x))/sizeof(*(x)))
+
+int main(int argc,char **argv)
+{
+const char *strace[]={"cvs","-s","200","-q","-o","/tmp/strace.log","/usr/bin/cvs-orig"};
+char **arg;
+
+ arg=malloc(sizeof(*arg)*(LENGTH(strace)+(argc-1)+1));
+ memcpy(arg ,strace,sizeof(*arg)*LENGTH(strace));
+ memcpy(arg+LENGTH(strace),argv+1,sizeof(*arg)*(argc-1));
+ arg[LENGTH(strace)+(argc-1)]=NULL;
+ execv("/usr/bin/strace",arg);
+ return(EXIT_FAILURE);
+}