I intend to release a package of a little library I'm working on called "fakedate". This will wrap the time() system call and make applications think that they are running on a different date. This is designed to be used for year 2000 testing but could be used for many other situations (EG if the system clock is inaccurate and you're not the sys-admin then you could give your email program the correct idea of the time). When in operation it will add an offset (may be negative for faking dates in the past) to the return of the time() system call. This offset can be specified in an environment variable or the file /etc/faketime.conf. Currently I have faketime.conf specifying the offset on a per-UID basis (EG I change the value for the UID of "news" to test INN), but I'll probably add some other options before I release it. If the library is put in /etc/ld.so.preload then it should work for all SUID programs as well (I'm still working on this).
Let me know if you have any suggestions for this package. -- I am in London and would like to meet any Linux users here. I plan to work in London until April and then move to another place where the pay is good.