Implicit conversions to the underlying pointer type are inconsistent with the intended use of shared_ptr in that you can extremely easily pass the shared_ptr to a function etc without realizing it.
It sounds to me like HelpfulContainer is anything BUT helpful and should be fixed or ditched.
If that's not possible then probably the best way is to just copy the A you want to pass in and pass the copy to the container.