IServiceCollection override a single constructor argument
Try this:
services.AddTransient<IDependency2, Dependency2Impl>();
services.AddTransient<IDependency3, Dependency3Impl>();
services.AddTransient<IMyInterface>(provider=>
return new MyClass("constructor argument value",
provider.GetService<IDependency2>(),
provider.GetService<IDependency3>());
);