#!/usr/bin/perl

use File::Temp qw/ :POSIX /;

$fname = tmpnam();

if(($child=fork()) == 0) { # child
  open STDOUT, ">", $fname;
  select STDOUT; $|=1;
  exec($ARGV[1], @ARGV[2..$#ARGV]);
  exit;
} else {
  $SIG{CHLD} = sub {};
  sleep $ARGV[0];
  kill 15, $child;
  open IN, "<", $fname;
  while($line=<IN>) {
    print $line;
  }
  close $f;
  `rm $fname`;
  exit;
}
