如何使用cobra调用默认子命令?

Using cobra, if my app is invoked without a specific action (but arguments), I'd like to run a default command:

// rootCmd represents the base command when called without any subcommands
var rootCmd = &cobra.Command{
    Use:   "mbmd",
    Short: "ModBus Measurement Daemon",
    Long:  "Easily read and distribute data from ModBus meters and grid inverters",

    Run: func(cmd *cobra.Command, args []string) {
        run(cmd, args)
    },
}

However, since the root command doesn't have all arguments the child command has this fails as it's apparently now aware of the child command's arguments:

❯ go run main.go -d sma:126@localhost:5061 --api 127.1:8081 -v
Error: unknown shorthand flag: 'd' in -d

as opposed to:

❯ go run main.go run -d sma:126@localhost:5061 --api 127.1:8081 -v
2019/07/29 20:58:10 mbmd unknown version (unknown commit)

How can I programmatically instantiate/invoke a child command?