echo something inside a shortcode

There are a few to do this:

Using double quotes

Don’t forget to escape the double quotes inside the string.

global $post;
echo do_shortcode("[sc name=\"$post->post_name\"]");

Using sigle quotes

global $post;
echo do_shortcode("[sc name="$post->post_name"]");

Using sprintf

global $post;
echo do_shortcode(
  sprintf('[sc name="%s"]', $post->post_name)
);

Using wp_sprintf

global $post;
echo do_shortcode(
  wp_sprintf('[sc name="%s"]', $post->post_name)
);

Using heredoc

do_shortcode(
    <<< EOF
[add_to_cart_url id="$post->post_name"]
EOF
);