Nest , Fold ... is there an extension for more than 2 arguments?

Yes, there is. Group your extra arguments in a list, and address them by their positions in the function under Fold. For your particular example:

FoldList[#1 (1 + First@#2) - Last@#2 &, 1000, Transpose@{{.01, .02, .03}, {100, 200, 300}}]

(* {1000, 910., 728.2, 450.046} *)

To achieve the specific syntax you requested we can use something like this:

multiFoldList[f_, start_, args__List] :=
  FoldList[f @@ Prepend[#2, #] &, start, {args}\[Transpose]]

Example:

multiFoldList[#1 (1 + #2) - #3 &, 1000, {.01, .02, .03}, {100, 200, 300}]
{1000, 910., 728.2, 450.046}

Here is another formulation which tests slightly faster and may be easier to read:

multiFoldList[f_, start_, args__List] :=
  Module[{ff},
    ff[x_, {y__}] := f[x, y];
    FoldList[ff, start, {args}\[Transpose]]
  ]

Tags:

Functions