EvalWithContext use in function with params

// Run 执行代码
func (such *YaegiExcuteBox) Run(
	excuteObjectInterface interface{},
	funcName string,
	funContext *core.FunctionContext,
	input string,
) (interface{}, string, error) {

	excuteObject := excuteObjectInterface.(*interp.Interpreter)

	ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
	defer cancel()
	val, err := excuteObject.EvalWithContext(ctx, funcName)
	if err != nil {
		return nil, "", err
	}
	fn := val.Interface().(func(*core.FunctionContext, string) (interface{}, string, error))

	rsp, logs, err := fn(funContext, input)
	if err != nil {
		fmt.Println("fn fail, err====", err)
		return nil, logs, err
	}

	if err != nil {
		return rsp, logs, err
	} else {
		return rsp, logs, nil
	}

}

as showed above, how can i use evalWitchContext in custom function with params; and exit when timeout