Calling (objeto params []) con Expression []

Estoy tratando de llamar a String.Format desde dentro de un árbol Linq.Expression. Aquí hay un ejemplo rápido:

    var format = Expression.Constant("({0}) {1}");
    var company = Expression.Property(input, membernames.First());
    var project = Expression.Property(input, membernames.Last());
    var args = new Expression[] {format, company, project};
    var invoke = Expression.Call(method,args);

Sin embargo, el problema es que String.Format tiene la firma de:

String.Format(string format, params object[] args)

y estoy tratando de pasar en la Expresión [].

Ahora podría pasar por todos los problemas de crear una matriz, rellenarla con los resultados de mis expresiones, pero lo que realmente quiero que sea el resultado es algo como esto:

String.Format("({0}) {1}", input.foo, input.bar)

Cómo hago para llamar a una función de parámetros a través de Linq Expressions?