Turning variable into a value set in shortcode

I want the $icon variable to become the value of icon attribute of custom-link I set:

If I understood your question correctly, this is what you want,

function custom_link($atts, $custom_title)
    {
    include "PATH_TO_YOUR_PHP_FILE_CONTAINING_ICON_VARS";
    $url = $atts['url'];
    $color = $atts['color'];
    $icon = $atts['icon'];
    $icon = $$icon; // $$icon is $icon_paypal 
        return '<a class="button-round custom-link" style="background-color: ' . $color . ' !important;" href="' . $url . '" target="_blank">' . $icon . '<span>' . $custom_title . '</span></a>';

    }

add_shortcode('custom-link', 'custom_link');

So a shortcode

[custom-link url="/someurl" color="#092F87" icon="icon_paypal"]Donate[/custom-link]

will generate

<a class="button-round custom-link" style="background-color: ' . $color . ' !important" href="' . $url . '" target="_blank">' . $icon_paypal . '<span>' . $custom_title . '</span></a>