Вы можете сделать это с помощью LINQ, но вам все еще нужен ToArray ()
ParamMethod2(new object [] { 0 }.Concat(arg).ToArray());
Отредактировано для добавления:
Основываясь на комментарии, касающемся производительности, я провел несколько базовых сравнений производительности между предлагаемыми методами.
На 1 миллион звонков
80ms -- Direct call: ParamMethod2(0,1,2,3);
280ms -- Using CopyTo
400ms -- Using LINQ
590ms -- Using AddRange
Конечно, если вы изменили объект на int и несколько других вещей, вы улучшите производительность в дальнейшем. Лично я бы использовал LINQ, потому что это достаточно быстро для 99% случаев, а в другом случае я бы не стал использовать params.