daemon: refactor translateContainerdStartErr() and remove unused argument
### daemon: translateContainerdStartErr() remove unused cmd argument

This argument was no longer used since commit https://github.com/moby/moby/commit/225e046d9d1bdf0f06f4c97bef239b5909463885 (part of https://github.com/moby/moby/pull/42270)

for further details; look at individual commit messages
daemon/start_unix.go
//go:build !windows
// +build !windows

package daemon // import "github.com/docker/docker/daemon"

import (
	"github.com/docker/docker/container"
)

// getLibcontainerdCreateOptions callers must hold a lock on the container
func (daemon *Daemon) getLibcontainerdCreateOptions(container *container.Container) (string, interface{}, error) {
	// Ensure a runtime has been assigned to this container
	if container.HostConfig.Runtime == "" {
		container.HostConfig.Runtime = daemon.configStore.GetDefaultRuntimeName()
		container.CheckpointTo(daemon.containersReplica)
	}

	rt, err := daemon.getRuntime(container.HostConfig.Runtime)
	if err != nil {
		return "", nil, translateContainerdStartErr(container.Path, container.SetExitCode, err)
	}

	return rt.Shim.Binary, rt.Shim.Opts, nil
}

//go:build !windows
// +build !windows

package daemon // import "github.com/docker/docker/daemon"

import (
	"github.com/docker/docker/container"
)

// getLibcontainerdCreateOptions callers must hold a lock on the container
func (daemon *Daemon) getLibcontainerdCreateOptions(container *container.Container) (string, interface{}, error) {
	// Ensure a runtime has been assigned to this container
	if container.HostConfig.Runtime == "" {
		container.HostConfig.Runtime = daemon.configStore.GetDefaultRuntimeName()
		container.CheckpointTo(daemon.containersReplica)
	}

	rt, err := daemon.getRuntime(container.HostConfig.Runtime)
	if err != nil {
		return "", nil, setExitCodeFromError(container.SetExitCode, err)
	}

	return rt.Shim.Binary, rt.Shim.Opts, nil
}

This was the bit I didn't stage, but looking at this again, I don't think this handling makes sense at all here;

`translateContainerdStartErr()` is used to first convert a grpc-error coming from containerd; https://github.com/moby/moby/blob/72fef53cecdd0b151ecaa8301b6d26f5d3182e9f/daemon/errors.go#L136

Which checks if it's a GRPC error, and if not "creates a new error" with the original error message string; https://github.com/moby/moby/blob/72fef53cecdd0b151ecaa8301b6d26f5d3182e9f/vendor/google.golang.org/grpc/status/status.go#L148-L153

However, the error here comes from `daemon.getruntime()`, which; already can return a typed error (if the configured runtime is incorrect);

https://github.com/moby/moby/blob/72fef53cecdd0b151ecaa8301b6d26f5d3182e9f/daemon/runtime_unix.go#L134
https://github.com/moby/moby/blob/72fef53cecdd0b151ecaa8301b6d26f5d3182e9f/daemon/runtime_unix.go#L152

None of which are related to the container's `cmd` nor with (bind) mounts.

Then, there's a third possible error, coming from `daemon.rewriteRuntimePath()` https://github.com/moby/moby/blob/72fef53cecdd0b151ecaa8301b6d26f5d3182e9f/daemon/runtime_unix.go#L138-L140

The only error that can be returned there, is if `exec.Lookpath()` fails to find the runtime; https://github.com/moby/moby/blob/72fef53cecdd0b151ecaa8301b6d26f5d3182e9f/daemon/runtime_unix.go#L124-L126

I'm tempted to return those errors as-is (do we need to update the container exit status? perhaps). _However_, this is all on container _start_ (not create), so what's the appropriate response? There's nothing wrong with the request itself ("start this container"), but the configuration of the container (on disk) may be incorrect, so a `500` (internal server error) would technically be more appropriate.

The bad thing is that we perform this validation on container _start_ (not on container _create_), which would possibly be appropriate (probably _in addition_ to the current check, as the runtime may _become_ invalid, so should cause an error when restarting the daemon (and container) in that case).