You can use (localized) changes to %ENV to modify a child process' environment.
{
local $ENV{ LD_LIBRARY_PATH } = q{/path/to/libs};
my $cmd = "...";
system( $cmd ) == 1 or die "Problem with '$cmd': $?\n";
}
(That being said, I also want to say that I vaguely recall ld.so does some sanitizing of the environment on some platforms if the EUID and RUID don't match, so you might not be able to get this to work without another layer of indirection (i.e. you start a suid wrapper which sets the environment up then calls the thing you really want to call).)