You can do this by using
1) is_shop fx
2) template_redirect action hook
3) wp_safe_redirect fx
add_action('template_redirect','ravs_shop_for_login_user');
function ravs_shop_for_login_user(){
//check user in shop page and not login
if( is_shop() && ! is_user_logged_in() )
wp_safe_redirect( home_url() );// enter your url here where you want to redirect page if user on shop page and not registered
}
Note paste this code in functions.php
.currently visiter redirect to home page if not registered,provide any url in wp_safe_redirect fx where you want to user redirect.