こんにちは。
一般的なJavaScriptのWebサイトでは、この手のテクニックがみつからず、検索しようにも検索ワードも特定できないので、ご質問します。

ベンチマーク関数などで、以下のように動かしたいのですが、記述方法がわかりません。
疑似コードです

var benchMark = function (loopCount, f, args1, args2, args3 …) {
  for … loopCount {
    f(args1, args2, args3…)
  }
}

ベンチマーク関数の呼び出し時に、関数fとその引数をわたして、
ベンチマーク関数の内部で、関数fに引数を渡して実行させたいのです。
fに対しては、任意個数の引数をわたしたいです。

もちろん、引数なしのものでしたら簡単でした。
サンプルコードをのせておきます。HTMLです。

やり方をご存知な方おられましたら、教えてください。
あるいは、無理、という情報や、参考になるページを教えていただくだけでも

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title></title>
<script>

  var benchMark = function (loopCount, f, args) {
    var
      i, max, 
      startTime, endTime;
    startTime = new Date();
    for (var i = 1, max = loopCount - 1; i <= max; i+=1) {
      f();
    }
    endTime = new Date();
    return endTime - startTime;
  };

  var test1 = function () {
    return '';
  };
  console.log(benchMark(1000000, test1));
  console.log('test finish');

</script>
  </head>
<body>
</body>
</html>