Since go is build with go, the go/internal (https://pkg.go.dev/std see internal) place is where you want to start looking. It is a rabbit hole but contains all the items like environment variables (GOOS), build config, go root, etc.
Other projects building some code for immediate usage (like skaffold) seem to have opted for os.Exec