REGR: Dataframe.agg no longer accepts positional arguments as of v1.1.0
Currently, passing any positional arguments to the `*args` parameter of `DataFrame.agg` fails with a `TypeError`, but the documented behavior is that positional and keyword arguments are passed on to the function that you are aggregating with. A minimal reproducer:

```python
import pandas as pd

def f(x, a):
    return x.sum() + a

df = pd.DataFrame([1, 2])

print(df.agg(f, 0, 3))
```

This is a regression introduced in v1.1.0, which was introduced in 433c9007781080658553fbef1a4d0c2813b404c0 (GH-34377), and it was mainly because the previous code only incidentally worked. Prior to the "offending" commit, [all `TypeErrors` were caught](https://github.com/pandas-dev/pandas/commit/433c9007781080658553fbef1a4d0c2813b404c0#diff-1e79abbbdd150d4771b91ea60a4e1cc7R7336-R7341) and `.agg` would fall back to `apply`. This was incidentally (as far as I can tell) catching the `TypeError` raised from the fact that the `self._aggregate` call passed `axis` as a keyword argument, so:

```python
self._aggregate(func, axis=axis, *args, **kwargs)

...

def aggregate(self, func, axis, *args, **kwargs):
   ...
```

This means that `aggregate` takes `func` and the first positional argument from `*args` as `func` and `axis`, then takes `axis=1` to be `axis`, raising `TypeError` because `axis` is specified twice.

I believe the solution here is to pass `axis` to `self._aggregate` by position.