To do it you need to get access to underlying object by using getDriver() and then you can pass additional meta data as third parameter to put function. See signature of that function:
/**
* Create a file or update if exists.
*
* @param string $path The path to the file.
* @param string $contents The file contents.
* @param array $config An optional configuration array.
*
* @return bool True on success, false on failure.
*/
public function put($path, $contents, array $config = []);
So in you case this should look something like this:
Storage::disk('s3')->getDriver()->put(
'/test.txt',
'test',
[
'CacheControl' => 'max-age'
]
);
Yes, you need use CacheControl instead of Cache-Control :-)