Shortcodes are content, equivalent to any other text in the content. There is no way to allow one user to add a shortcode while disallowing another.
The only thing that is possible to do is to try to remove any UI the shortcodes have to "hide" it, but in the end the only true solution is to manually approve every content submitted by a non trusted user, and not to give them the option of editing it after it is approved.
The other alternative is to filter out shortcodes from the content on save. This is probably more robust, but will require some identification of the post as being one that needs the filtering, and will limit the ability of an editor user to insert shortcodes into that content when editing it.