my @apps = ( [qw(/path/to/foo args of foo)], [qw(/path/to/bar args of it here)] ); $SIG{CHLD} = 'IGNORE'; for (@apps) { defined(my $cpid = fork) or die $!; $cpid or exec {$_->[0]} @$_ or die $!; } exit 0; # the parent