My actual shortcode was a little more complex than my example, so I couldn’t modify your suggestion to work, but it put me on the right track. Ultimately, I got it to work with something like this:
<?php
$asin = get_field('asin');
$text1 .= '[asin="'.$asin.'"]';
$text2 .= do_shortcode($text1);
echo $text2;
?>