The best way to call "__init__" and "__init_subclass__" in custom "tp_init"

The function signature is int custom_tp_init(PyObject* self, PyObject* args, PyObject* kwargs). However, if it needed to call users’ “__init__” or “__init_subclass__”, the way to use “PyObject_GetAttrString” will cause a problem: how to allocate the args and kwargs?
So is there a better way to call them in tp_init?