Unix machines keep time by storing the number of seconds from the epoch as a 32-bit integer. I would determine the current time (it's now 1073657881 o'clock), add the required number of seconds and convert back. Whilst it's not
strictly a shell script [1], this should do it:
#!/path/to/perl -w
# Takes one argument, the number of days' offset
defined $ARGV[0] || exit 1;
$ARGV[0] =~ /^-?\d+$/ || exit 2;
$DBFORUMS=time;
$DBFORUMS+=($ARGV[0]*60*60*24);
print localtime($DBFORUMS) . "\n";
__END__
There's also a GNU extension to 'date' which returns the value of the number of seconds past the epoch. Depending on your system, you may have this utility and you can write a similar script in the shell.
[1] I have considered running the perl debugger as my login shell
