sprintf is not the same as printf in perl. It emulates the way how C sprintf behave. The workaround is just to supply element 0 (the format string) in the list to sprintf as the first argument, and the rest of the elements in the list as a slice...
@arghs = ( "We see '%s' and '%s'\n", 'wowza', 'foo' );
$s = sprintf $arghs[0], @arghs[1..$#arghs];
print "$s\n";